#ifndef DEFS_H
#define DEFS_H

#include <iostream>

#include <list>
#include <string>
#include <map>
#include <fstream>

using namespace std;

enum {TOK_INCONNU, TOK_SYMBOLE, TOK_MOTCLE, TOK_CONSTNUM, TOK_CONSTCHAR, TOK_OP_MATH, TOK_OP_BOOL, TOK_DELIM, TOK_TYPE};
enum {TYPE_RIEN, TYPE_BOOL, TYPE_BOOL_ARRAY, TYPE_NUM, TYPE_NUM_ARRAY, TYPE_CHAR, TYPE_CHAR_ARRAY, TYPE_VOID, TYPE_FUNC};

#define UNKNOWN_SIZE -1

struct token {
	int type;
	string tok;
};

struct Constante {
	int type;
	long double valeur;
};

void die(char *err);

#endif